package org.mfw.interfaces.obj.list
{
	import org.mfw.interfaces.obj.mob.ISong;
	
	/**
	 * Enthält eine Liste mit Liedern
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	 public interface ISongList extends IMediaListObject
	{
			
	/**
	 * Liefert das Lied mit dem übergebenen Index
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 function getSongByIndex(index:Number):ISong;
	
	/**
	 * Liefert das Element mit dem Übergebenen Namen
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	 function getSongByName(name:String):ISong;
	
	
	//---------------Zeigeroperationen
	/**
	 * Liefert den Song auf dem aktuell gezeigt wird
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 function get currentSong():ISong;
	
	/**
	 * Liefert den nächsten Song
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 function get nextSong():ISong;
	
	/**
	 * Liefert den vorhergehenden Song
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09 
	 * */
	 function get prevSong():ISong;
	
	/**
	 * Liefert den letzten Song der Liste
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	 function get lastSong():ISong;
	
	/**
	 * Liefert den letzten Song der Liste
	 * @author Steven Voigt
	 * @Added 02.04.09
	 * @LastUpdate 02.04.09
	 * */
	 function getSongByID(ID:Number):ISong;
	}
}